/*
 * CommandeSaisir.cpp
 *
 *  Created on: 22 déc. 2012
 *      Author: aboursie - potier
 */

#include "CommandeSaisir.h"
#include <stdlib.h>

bool CommandeSaisir::initialiserArguments(vector<string> args) {
	bool flag = false;
	if (args.size() == 1) {
		poids = atoi(args[0].c_str());
		flag = true;
	}else{
		pile.pop();
	}
	return flag;
}

void CommandeSaisir::execute() {
	try{
		robot->saisir(new Objet(poids));
	}catch (EtatRobot::BadAction){
		pile.pop();
	}
}

void CommandeSaisir::desexecute() {
	robot->poser();
	pile.pop();
}

Commande* CommandeSaisir::constructeurVirtuel() {
	CommandeSaisir* tmp = new CommandeSaisir(robot);
	tmp->poids = poids;
	pile.push(tmp);
	return tmp;
}
